// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

//基地址设置
axios.defaults.baseURL='http://ajax-api.itheima.net'
//利用bootstrap生成轻提示
const myToast = new bootstrap.Toast(document.querySelector('#myToast'), {
  delay: 2000
})

function tip(msg) {
  document.querySelector('#myToast .toast-body').innerHTML = msg
  myToast.show()
}
// 设置用户名
const username = localStorage.getItem('username')
// 判断 是否存在 span 存在设置
const nameSpan = document.querySelector('#navbar-main .font-weight-bold')
if (nameSpan){
  nameSpan.innerHTML=username
}
//登出设置
const logoutBtn =document.querySelector('#logout')

logoutBtn&&
(logoutBtn.onclick=function(){
  localStorage.removeItem('username')
  localStorage.removeItem('token')
  window.location.assign('./login.html')
})
//增加请求拦截器
axios.interceptors.request.use(
  function(config){
    // 请求拦截器把token设置给所有的请求
    config.headers.authorization=localStorage.getItem('token')
    return config
  },
  function(error){
    return Promise.reject(error)
  }
)


// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response.data
}, function (error) {
  if(error.response.status===401){
    localStorage.removeItem('username')
    localStorage.removeItem('token')
  }
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  console.dir(error)
  return Promise.reject(error);
});
